Toward Efficient Support for Multithreaded MPI Communication
نویسندگان
چکیده
To make the most effective use of parallel machines that are being built out of increasingly large multicore chips, researchers are exploring the use of programming models comprising a mixture of MPI and threads. Such hybrid models require efficient support from an MPI implementation for MPI messages sent from multiple threads simultaneously. In this paper, we explore the issues involved in designing such an implementation. We present four approaches to building a fully thread-safe MPI implementation, with decreasing levels of critical-section granularity (from coarse-grain locks to fine-grain locks to lock-free operations) and correspondingly increasing levels of complexity. We describe how we have structured our implementation to support all four approaches and enable one to be selected at build time. We present performance results with a message-rate benchmark to demonstrate the performance implications of the different approaches.
منابع مشابه
Efficient Multithreaded Context ID Allocation in MPI
An important aspect of support for multithreaded MPI executions is the management of communication context identifiers (IDs), which are used to associate MPI communication operations with a communicator. New communicator creation functionality in MPI 3.0 adds complexity to this core resource management problem. We present an efficient algorithm for multithreaded context ID allocation that build...
متن کاملTest suite for evaluating performance of multithreaded MPI communication
As parallel systems are commonly being built out of increasingly large multicore chips, application programmers are exploring the use of hybrid programming models combining MPI across nodes and multithreading within a node. Many MPI implementations, however, are just starting to support multithreaded MPI communication, often focussing on correctness first and performance later. As a result, bot...
متن کاملEfficient MPI Support for Advanced Hybrid Programming Models
The number of multithreaded Message Passing Interface (MPI) implementations and applications is increasing rapidly. We discuss how multithreaded applications can receive messages of unknown size. As is well known, combining MPI Probe/MPI Recv is not threadsafe, but many assume that trivial workarounds exist. We discuss those workarounds and show how they fail in practice by either limiting the ...
متن کاملA Portable and Adaptative Multi-protocol Communication Library for Multithreaded Runtime Systems
This paper introduces Madeleine II , an adaptive multiprotocol extension of the Madeleine portable communication interface. Madeleine II provides facilities to use multiple network protocols (VIA, SCI, TCP, MPI) and multiple network adapters (Ethernet, Myrinet, SCI) within the same application. Moreover, it can dynamically select the most appropriate transfer method for a given network protocol...
متن کاملOverlapping Communication and Computation in MPI by Multithreading
Since the emergence of MPI (Message Passing Interface), how to improve its performance has always been a goal for MPI library implementation. This paper proposes an efficient architecture to achieve this goal from a very low level: using multi-threaded model to implement MPI pointto-point operations in order to overlap communication and computation. Compared to single-threaded active polling co...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008